package com.atguigu.gulimall.order;

import org.springframework.amqp.rabbit.annotation.EnableRabbit;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.EnableAspectJAutoProxy;

/**
 * 使用RabbitMQ
 * 1、引入amqp场景；RabbitAutoConfiguration就会自动生效
 * 2、给容器中自动配置了
 *      RabbitTemplate、AmqpAdmin、CachingConnectionFactory、RabbitMessagingTemple;
 *      配置文件属性：spring.rabbitmq
 *      @ConfigurtionProperties(prefix="spring.rabbitmq")
 * 3、给配置文件配置spring.rabbitmq信息
 * 4、@EnableRabbit: 开启功能
 * 5、监听消息：使用@RabbitListenter；必须有@EnableRabbit
 * @RabbitListenter:类和方法上（说明监听那些队列）
 * @RabbitHandler:标在方法上（重载区分不同的消息）
 */
@EnableAspectJAutoProxy(exposeProxy = true)
@EnableFeignClients
@EnableDiscoveryClient
@EnableRabbit
@SpringBootApplication
public class GulimallOrderApplication {

    public static void main(String[] args) {
        SpringApplication.run(GulimallOrderApplication.class, args);
    }

}
